/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.ifrn.Dao;

import br.edu.ifrn.Classes.Conexao;
import br.edu.ifrn.Classes.Modalidade;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author cp
 */
public class ModalidadeDao {
    
    private Connection connection;
    
    public ModalidadeDao(){
        this.connection = new Conexao().getConnection();
    }
    
    public void InserirModalidade(Modalidade modalidade){
        String sql = "insert into Modalidade(idModalidade,nome)"+"values(?,?)";
        
        try{
            PreparedStatement stmt = connection.prepareStatement(sql);
            
            stmt.setInt(1, modalidade.getIdModalidade());
            stmt.setString(2, modalidade.getNome());
            stmt.execute();
            stmt.close();
            
        } catch(SQLException e){
            throw new RuntimeException(e);
        }
    }
    
    public void RemoverModalidade(Modalidade modalidade) {
        try {
            PreparedStatement stmt = connection.prepareStatement("delete from Modalidade where idModalidade=?");
            stmt.setInt(1, modalidade.getIdModalidade());
            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    public void EditarModalidade(Modalidade modalidade){
        String sql = "UPDATE Modalidade SET nome=? WHERE idModalidade=?";
        
        try{
            java.sql.PreparedStatement stmt = this.connection.prepareStatement(sql);
            stmt.setString(1, modalidade.getNome());
            stmt.setInt(2, modalidade.getIdModalidade());
            
            stmt.execute();
            stmt.close();
        }catch(SQLException e){
            throw new RuntimeException(e);            
        }
    }
    
    public List<Modalidade> getLista() {
        try {
            List<Modalidade> modalidades = new ArrayList<Modalidade>();
            PreparedStatement stmt = this.connection.prepareStatement("select * from Modalidade");
            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                // criando o objeto Contato
                
                Modalidade modalidade = new Modalidade();
                modalidade.setIdModalidade(rs.getInt("idModalidade"));
                modalidade.setNome(rs.getString("nome"));

                // adicionando o objeto à lista
                modalidades.add(modalidade);
                
            }
            rs.close();
            stmt.close();
            return modalidades;
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
